﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Vortex.Debugging {

	/// <summary>
	/// Enumerates logging output streams
	/// </summary>
	[Flags]
	public enum LogStream {
		/// <summary>
		/// No streams output
		/// </summary>
		None = 0,
		/// <summary>
		/// Console stream output
		/// </summary>
		Console = 1,
		/// <summary>
		/// File stream output
		/// </summary>
		File = 2,
		/// <summary>
		/// All stream output
		/// </summary>
		All = Console | File
	}

	/// <summary>
	/// Enumerates log message severities
	/// </summary>
	public enum Severity {
		/// <summary>
		/// Stack trace
		/// </summary>
		StackTrace,
		/// <summary>
		/// Success operation message
		/// </summary>
		Success,
		/// <summary>
		/// Some additional details
		/// </summary>
		Details,
		/// <summary>
		/// Additional information but not collapsed like details
		/// </summary>
		Info,
		/// <summary>
		/// Common notifications
		/// </summary>
		Normal,
		/// <summary>
		/// Important notifications
		/// </summary>
		Important,
		/// <summary>
		/// Warning
		/// </summary>
		Warning,
		/// <summary>
		/// Not critical errors
		/// </summary>
		Error,
		/// <summary>
		/// Critical errors which cause engine termination
		/// </summary>
		Panic
	}
}
